using System;
using System.Collections.Generic;
using System.Text;
using C4F.DevKit.WebServices.Properties;

namespace C4F.DevKit.WebServices
{
    /// <summary>
    /// This class represents a location
    /// </summary>
    public class Location
    {
        #region Private Members
        /// <summary>
        /// The latitude of the location
        /// </summary>        
        private double latitude;
        /// <summary>
        /// The longitude of the location
        /// </summary>
        private double longitude;
        #endregion

        #region Public Properties
        /// <summary>
        /// The latitude of the location
        /// </summary>        
        public double Latitude
        {
            get
            {
                return this.latitude;
            }
            set
            {
                this.latitude = value;
            }
        }
        /// <summary>
        /// The longitude of the location
        /// </summary>
        public double Longitude
        {
            get
            {
                return this.longitude;
            }
            set
            {
                this.longitude = value;
            }
        }
        #endregion
    }

    /// <summary>
    /// This class represents the rating
    /// </summary>
    public class Rating
    {
        #region Private Members
        /// <summary>
        /// Number of stars received
        /// </summary>
        private double numStars;
        /// <summary>
        /// Number of votes received
        /// </summary>
        private int numVotes;
        #endregion

        #region Public Properties
        /// <summary>
        /// Number of stars that the movie received
        /// </summary>
        /// <exception cref="ArgumentException">NumberOfStars has an invalid value</exception>
        public double NumberOfStars
        {
            get { return this.numStars; }
            set
            {
                if (value < 0 || value > 10)
                    throw new ArgumentException(Resources.NumberOfStarsNotValid);
                this.numStars = value;
            }
        }

        /// <summary>
        /// Number of votes that the movie received
        /// </summary>
        /// <exception cref="ArgumentException">NumberOfVotes has an invalid value</exception>
        public int NumberOfVotes
        {
            get { return this.numVotes; }
            set
            {
                if (value < 0)
                    throw new ArgumentException(Resources.NumberOfVotesNotValid);
                this.numVotes = value;
            }
        }
        #endregion
    }

    /// <summary>
    /// Represents an address
    /// </summary>
    public class Address
    {
        #region Private Members
        /// <summary>
        /// The complete address
        /// </summary>
        private string completeAddress;
        /// <summary>
        /// Address line 1
        /// </summary>
        private string addressLine1;
        /// <summary>
        /// Address line 2
        /// </summary>
        private string addressLine2;
        /// <summary>
        /// Name of the city
        /// </summary>
        private string city;
        /// <summary>
        /// Name of the state
        /// </summary>
        private string state;
        /// <summary>
        /// ZIP code of the location
        /// </summary>
        private string zipCode;
        #endregion

        #region Public Properties
        /// <summary>
        /// The complete address
        /// </summary>
        public string CompleteAddress
        {
            get { return this.completeAddress; }
            set { this.completeAddress = value; }
        }
        /// <summary>
        /// Address line 1
        /// </summary>
        public string AddressLine1
        {
            get { return this.addressLine1; }
            set { this.addressLine1 = value; }
        }
        /// <summary>
        /// Address line 2
        /// </summary>
        public string AddressLine2
        {
            get { return this.addressLine2; }
            set { this.addressLine2 = value; }
        }
        /// <summary>
        /// Name of the city
        /// </summary>
        public string City
        {
            get { return this.city; }
            set { this.city = value; }
        }
        /// <summary>
        /// Name of the state
        /// </summary>
        public string State
        {
            get { return this.state; }
            set { this.state = value; }
        }
        /// <summary>
        /// ZIP code of the location
        /// </summary>
        public string ZipCode
        {
            get { return this.zipCode; }
            set { this.zipCode = value; }
        }
        #endregion
    }

    /// <summary>
    /// Represents the states 
    /// </summary>
    public enum State
    {
        /// <summary>
        /// Represents All the States
        /// </summary>
        _AllStates = 0,
        /// <summary>
        /// Represents Alaska state
        /// </summary>
        Alaska = 1,
        /// <summary>
        /// Represents Alabama state
        /// </summary>
        Alabama,
        /// <summary>
        /// Represents Arkansas state
        /// </summary>
        Arkansas,
        /// <summary>
        /// Represents Arizona state
        /// </summary>
        Arizona,
        /// <summary>
        /// Represents California state
        /// </summary>
        California,
        /// <summary>
        /// Represents Colorado state
        /// </summary>
        Colorado,
        /// <summary>
        /// Represents Connecticut state
        /// </summary>
        Connecticut,
        /// <summary>
        /// Represents Delaware state
        /// </summary>
        Delaware,
        /// <summary>
        /// Represents Florida state
        /// </summary>
        Florida,
        /// <summary>
        /// Represents Georgia state
        /// </summary>
        Georgia,
        /// <summary>
        /// Represents Hawaii state
        /// </summary>
        Hawaii,
        /// <summary>
        /// Represents Iowa state
        /// </summary>
        Iowa,
        /// <summary>
        /// Represents Idaho state
        /// </summary>
        Idaho,
        /// <summary>
        /// Represents Illinois state
        /// </summary>
        Illinois,
        /// <summary>
        /// Represents Indiana state
        /// </summary>
        Indiana,
        /// <summary>
        /// Represents Kansas state
        /// </summary>
        Kansas,
        /// <summary>
        /// Represents Kentucky state
        /// </summary>
        Kentucky,
        /// <summary>
        /// Represents Louisiana state
        /// </summary>
        Louisiana,
        /// <summary>
        /// Represents Massachusetts state
        /// </summary>
        Massachusetts,
        /// <summary>
        /// Represents Maryland state
        /// </summary>
        Maryland,
        /// <summary>
        /// Represents Maine state
        /// </summary>
        Maine,
        /// <summary>
        /// Represents Michigean state
        /// </summary>
        Michigean,
        /// <summary>
        /// Represents Minnesota state
        /// </summary>
        Minnesota,
        /// <summary>
        /// Represents Missouri state
        /// </summary>
        Missouri,
        /// <summary>
        /// Represents Mississippi state
        /// </summary>
        Mississippi,
        /// <summary>
        /// Represents Montana state
        /// </summary>
        Montana,
        /// <summary>
        /// Represents North Carolina state
        /// </summary>
        NorthCarolina,
        /// <summary>
        /// Represents North Dakota state
        /// </summary>
        NorthDakota,
        /// <summary>
        /// Represents Nebraska state
        /// </summary>
        Nebraska,
        /// <summary>
        /// Represents New Hampshire state
        /// </summary>
        NewHampshire,
        /// <summary>
        /// Represents New Jersey state
        /// </summary>
        NewJersey,
        /// <summary>
        /// Represents New Mexico state
        /// </summary>
        NewMexico,
        /// <summary>
        /// Represents Nevada state
        /// </summary>
        Nevada,
        /// <summary>
        /// Represents New York state
        /// </summary>
        NewYork,
        /// <summary>
        /// Represents Ohio state
        /// </summary>
        Ohio,
        /// <summary>
        /// Represents Oklahoma state
        /// </summary>
        Oklahoma,
        /// <summary>
        /// Represents Oregon state
        /// </summary>
        Oregon,
        /// <summary>
        /// Represents Pennslyvania state
        /// </summary>
        Pennslyvania,
        /// <summary>
        /// Represents Puerto Rico state
        /// </summary>
        PuertoRico,
        /// <summary>
        /// Represents Rhode Island state
        /// </summary>
        RhodeIsland,
        /// <summary>
        /// Represents South Carolina state
        /// </summary>
        SouthCarolina,
        /// <summary>
        /// Represents South Dakota state
        /// </summary>
        SouthDakota,
        /// <summary>
        /// Represents Tennesse state
        /// </summary>
        Tennesse,
        /// <summary>
        /// Represents Texas state
        /// </summary>
        Texas,
        /// <summary>
        /// Represents Utah state
        /// </summary>
        Utah,
        /// <summary>
        /// Represents Virginia state
        /// </summary>
        Virginia,
        /// <summary>
        /// Represents Vermont state
        /// </summary>
        Vermont,
        /// <summary>
        /// Represents Washington state
        /// </summary>
        Washington,
        /// <summary>
        /// Represents Washington DC state
        /// </summary>
        WashingtonDC,
        /// <summary>
        /// Represents Wisconsin state
        /// </summary>
        Wisconsin,
        /// <summary>
        /// Represents West Virginia state
        /// </summary>
        WestVirginia,
        /// <summary>
        /// Represents Wyoming state
        /// </summary>
        Wyoming
    }

    /// <summary>
    /// Represents the abbreviations for states specified in States enum
    /// </summary>
    public enum StateAbbreviation
    {
        /// <summary>
        /// Represents Alaska state
        /// </summary>
        AK = 1,
        /// <summary>
        /// Represents Alabama state
        /// </summary>
        AL,
        /// <summary>
        /// Represents Arkansas state
        /// </summary>
        AR,
        /// <summary>
        /// Represents Arizona state
        /// </summary>
        AZ,
        /// <summary>
        /// Represents California state
        /// </summary>
        CA,
        /// <summary>
        /// Represents Colorado state
        /// </summary>
        CO,
        /// <summary>
        /// Represents Connecticut state
        /// </summary>
        CT,
        /// <summary>
        /// Represents Delaware state
        /// </summary>
        DE,
        /// <summary>
        /// Represents Florida state
        /// </summary>
        FL,
        /// <summary>
        /// Represents Georgia state
        /// </summary>
        GA,
        /// <summary>
        /// Represents Hawaii state
        /// </summary>
        HI,
        /// <summary>
        /// Represents Iowa state
        /// </summary>
        IA,
        /// <summary>
        /// Represents Idaho state
        /// </summary>
        ID,
        /// <summary>
        /// Represents Illinois state
        /// </summary>
        IL,
        /// <summary>
        /// Represents Indiana state
        /// </summary>
        IN,
        /// <summary>
        /// Represents Kansas state
        /// </summary>
        KS,
        /// <summary>
        /// Represents Kentucky state
        /// </summary>
        KY,
        /// <summary>
        /// Represents Louisiana state
        /// </summary>
        LA,
        /// <summary>
        /// Represents Massachusetts state
        /// </summary>
        MA,
        /// <summary>
        /// Represents Maryland state
        /// </summary>
        MD,
        /// <summary>
        /// Represents Maine state
        /// </summary>
        ME,
        /// <summary>
        /// Represents Michigean state
        /// </summary>
        MI,
        /// <summary>
        /// Represents Minnesota state
        /// </summary>
        MN,
        /// <summary>
        /// Represents Missouri state
        /// </summary>
        MO,
        /// <summary>
        /// Represents Mississippi state
        /// </summary>
        MS,
        /// <summary>
        /// Represents Montana state
        /// </summary>
        MT,
        /// <summary>
        /// Represents North Carolina state
        /// </summary>
        NC,
        /// <summary>
        /// Represents North Dakota state
        /// </summary>
        ND,
        /// <summary>
        /// Represents Nebraska state
        /// </summary>
        NE,
        /// <summary>
        /// Represents New Hampshire state
        /// </summary>
        NH,
        /// <summary>
        /// Represents New Jersey state
        /// </summary>
        NJ,
        /// <summary>
        /// Represents New Mexico state
        /// </summary>
        NM,
        /// <summary>
        /// Represents Nevada state
        /// </summary>
        NV,
        /// <summary>
        /// Represents New York state
        /// </summary>
        NY,
        /// <summary>
        /// Represents Ohio state
        /// </summary>
        OH,
        /// <summary>
        /// Represents Oklahoma state
        /// </summary>
        OK,
        /// <summary>
        /// Represents Oregon state
        /// </summary>
        OR,
        /// <summary>
        /// Represents Pennslyvania state
        /// </summary>
        PA,
        /// <summary>
        /// Represents Puerto Rico state
        /// </summary>
        PR,
        /// <summary>
        /// Represents Rhode Island state
        /// </summary>
        RI,
        /// <summary>
        /// Represents South Carolina state
        /// </summary>
        SC,
        /// <summary>
        /// Represents South Dakota state
        /// </summary>
        SD,
        /// <summary>
        /// Represents Tennesse state
        /// </summary>
        TN,
        /// <summary>
        /// Represents Texas state
        /// </summary>
        TX,
        /// <summary>
        /// Represents Utah state
        /// </summary>
        UT,
        /// <summary>
        /// Represents Virginia state
        /// </summary>
        VI,
        /// <summary>
        /// Represents Vermont state
        /// </summary>
        VT,
        /// <summary>
        /// Represents Washington state
        /// </summary>
        WA,
        /// <summary>
        /// Represents Washington DC state
        /// </summary>
        DC,
        /// <summary>
        /// Represents Wisconsin state
        /// </summary>
        WI,
        /// <summary>
        /// Represents West Virginia state
        /// </summary>
        WV,
        /// <summary>
        /// Represents Wyoming state
        /// </summary>
        WY
    }

    /// <summary>
    /// Represents the countries 
    /// </summary>
    public enum Country
    {
        /// <summary>
        /// Represents Islamic State of Afghanistan country
        /// </summary>
        Afghanistan,
        /// <summary>
        /// Represents Albania country
        /// </summary>
        Albania,
        /// <summary>
        /// Represents Algeria country
        /// </summary>
        Algeria,
        /// <summary>
        /// Represents American Samoa country
        /// </summary>
        AmericanSamoa,
        /// <summary>
        /// Represents Principality of Andorra country
        /// </summary>
        Andorra,
        /// <summary>
        /// Represents Angola country
        /// </summary>
        Angola,
        /// <summary>
        /// Represents Anguilla country
        /// </summary>
        Anguilla,
        /// <summary>
        /// Represents Antarctica country
        /// </summary>
        Antarctica,
        /// <summary>
        /// Represents Antigua And Barbuda country
        /// </summary>
        AntiguaAndBarbuda,
        /// <summary>
        /// Represents Argentina country
        /// </summary>
        Argentina,
        /// <summary>
        /// Represents Armenia country
        /// </summary>
        Armenia,
        /// <summary>
        /// Represents Aruba country
        /// </summary>
        Aruba,
        /// <summary>
        /// Represents Ascension Island country
        /// </summary>
        AscensionIsland,
        /// <summary>
        /// Represents Australia country
        /// </summary>
        Australia,
        /// <summary>
        /// Represents Austria country
        /// </summary>
        Austria,
        /// <summary>
        /// Represents Azerbaidjan country
        /// </summary>
        Azerbaidjan,
        /// <summary>
        /// Represents Bahamas country
        /// </summary>
        Bahamas,
        /// <summary>
        /// Represents Bahrain country
        /// </summary>
        Bahrain,
        /// <summary>
        /// Represents Bangladesh country
        /// </summary>
        Bangladesh,
        /// <summary>
        /// Represents Barbados country
        /// </summary>
        Barbados,
        /// <summary>
        /// Represents Belarus country
        /// </summary>
        Belarus,
        /// <summary>
        /// Represents Belgium country
        /// </summary>
        Belgium,
        /// <summary>
        /// Represents Belize country
        /// </summary>
        Belize,
        /// <summary>
        /// Represents Benin country
        /// </summary>
        Benin,
        /// <summary>
        /// Represents Bermuda country
        /// </summary>
        Bermuda,
        /// <summary>
        /// Represents Bhutan country
        /// </summary>
        Bhutan,
        /// <summary>
        /// Represents Bolivia country
        /// </summary>
        Bolivia,
        /// <summary>
        /// Represents Bosnia-Herzegovina country
        /// </summary>
        BosniaHerzegovina,
        /// <summary>
        /// Represents Botswana country
        /// </summary>
        Botswana,
        /// <summary>
        /// Represents Brazil country
        /// </summary>
        Brazil,
        /// <summary>
        /// Represents British Indian Ocean Territory country
        /// </summary>
        BritishIndianOceanTerritory,
        /// <summary>
        /// Represents Brunei Darussalam country
        /// </summary>
        BruneiDarussalam,
        /// <summary>
        /// Represents Bulgaria country
        /// </summary>
        Bulgaria,
        /// <summary>
        /// Represents Burkina Faso country
        /// </summary>
        BurkinaFaso,
        /// <summary>
        /// Represents Burundi country
        /// </summary>
        Burundi,
        /// <summary>
        /// Represents Kingdom of Cambodia country
        /// </summary>
        Cambodia,
        /// <summary>
        /// Represents Cameroon country
        /// </summary>
        Cameroon,
        /// <summary>
        /// Represents Canada country
        /// </summary>
        Canada,
        /// <summary>
        /// Represents Cape Verde country
        /// </summary>
        CapeVerde,
        /// <summary>
        /// Represents Cayman Islands country
        /// </summary>
        CaymanIslands,
        /// <summary>
        /// Represents Central African Republic country
        /// </summary>
        CentralAfricanRepublic,
        /// <summary>
        /// Represents Chad country
        /// </summary>
        Chad,
        /// <summary>
        /// Represents Chile country
        /// </summary>
        Chile,
        /// <summary>
        /// Represents China country
        /// </summary>
        China,
        /// <summary>
        /// Represents Christmas Island country
        /// </summary>
        ChristmasIsland,
        /// <summary>
        /// Represents Cocos (Keeling) Islands country
        /// </summary>
        CocosIslands_Keeling,
        /// <summary>
        /// Represents Colombia country
        /// </summary>
        Colombia,
        /// <summary>
        /// Represents Comoros country
        /// </summary>
        Comoros,
        /// <summary>
        /// Represents Congo country
        /// </summary>
        Congo,
        /// <summary>
        /// Represents Cook Islands country
        /// </summary>
        CookIslands,
        /// <summary>
        /// Represents Costa Rica country
        /// </summary>
        CostaRica,
        /// <summary>
        /// Represents Croatia country
        /// </summary>
        Croatia,
        /// <summary>
        /// Represents Cuba country
        /// </summary>
        Cuba,
        /// <summary>
        /// Represents Cyprus country
        /// </summary>
        Cyprus,
        /// <summary>
        /// Represents Czech Republic country
        /// </summary>
        CzechRepublic,
        /// <summary>
        /// Represents Denmark country
        /// </summary>
        Denmark,
        /// <summary>
        /// Represents Djibouti country
        /// </summary>
        Djibouti,
        /// <summary>
        /// Represents Dominica country
        /// </summary>
        Dominica,
        /// <summary>
        /// Represents Dominican Republic country
        /// </summary>
        DominicanRepublic,
        /// <summary>
        /// Represents East Timor country
        /// </summary>
        EastTimor,
        /// <summary>
        /// Represents Ecuador country
        /// </summary>
        Ecuador,
        /// <summary>
        /// Represents Egypt country
        /// </summary>
        Egypt,
        /// <summary>
        /// Represents El Salvador country
        /// </summary>
        ElSalvador,
        /// <summary>
        /// Represents Equatorial Guinea country
        /// </summary>
        EquatorialGuinea,
        /// <summary>
        /// Represents Eritrea country
        /// </summary>
        Eritrea,
        /// <summary>
        /// Represents Estonia country
        /// </summary>
        Estonia,
        /// <summary>
        /// Represents Ethiopia country
        /// </summary>
        Ethiopia,
        /// <summary>
        /// Represents Falkland Islands country
        /// </summary>
        FalklandIslands,
        /// <summary>
        /// Represents Faroe Islands country
        /// </summary>
        FaroeIslands,
        /// <summary>
        /// Represents Fiji country
        /// </summary>
        Fiji,
        /// <summary>
        /// Represents Finland country
        /// </summary>
        Finland,
        /// <summary>
        /// Represents Former Czechoslovakia country
        /// </summary>
        FormerCzechoslovakia,
        /// <summary>
        /// Represents Former USSR country
        /// </summary>
        FormerUSSR,
        /// <summary>
        /// Represents France country
        /// </summary>
        France,
        /// <summary>
        /// Represents France (European Territory) country
        /// </summary>
        France_EuropeanTerritory,
        /// <summary>
        /// Represents French Guyana country
        /// </summary>
        FrenchGuyana,
        /// <summary>
        /// Represents Gabon country
        /// </summary>
        Gabon,
        /// <summary>
        /// Represents Gambia country
        /// </summary>
        Gambia,
        /// <summary>
        /// Represents Georgia country
        /// </summary>
        Georgia,
        /// <summary>
        /// Represents Germany country
        /// </summary>
        Germany,
        /// <summary>
        /// Represents Ghana country
        /// </summary>
        Ghana,
        /// <summary>
        /// Represents Gibraltar country
        /// </summary>
        Gibraltar,
        /// <summary>
        /// Represents Greece country
        /// </summary>
        Greece,
        /// <summary>
        /// Represents Greenland country
        /// </summary>
        Greenland,
        /// <summary>
        /// Represents Grenada country
        /// </summary>
        Grenada,
        /// <summary>
        /// Represents Guadeloupe (French) country
        /// </summary>
        Guadeloupe_French,
        /// <summary>
        /// Represents Guam (USA) country
        /// </summary>
        Guam_USA,
        /// <summary>
        /// Represents Guatemala country
        /// </summary>
        Guatemala,
        /// <summary>
        /// Represents Guernsey country
        /// </summary>
        Guernsey,
        /// <summary>
        /// Represents Guinea country
        /// </summary>
        Guinea,
        /// <summary>
        /// Represents Guinea Bissau country
        /// </summary>
        GuineaBissau,
        /// <summary>
        /// Represents Guyana country
        /// </summary>
        Guyana,
        /// <summary>
        /// Represents Haiti country
        /// </summary>
        Haiti,
        /// <summary>
        /// Represents Holy See (Vatican City State) country
        /// </summary>
        HolySee_VaticanCityState,
        /// <summary>
        /// Represents Honduras country
        /// </summary>
        Honduras,
        /// <summary>
        /// Represents HongKong country
        /// </summary>
        HongKong,
        /// <summary>
        /// Represents Hungary country
        /// </summary>
        Hungary,
        /// <summary>
        /// Represents Iceland country
        /// </summary>
        Iceland,
        /// <summary>
        /// Represents India country
        /// </summary>
        India,
        /// <summary>
        /// Represents Indonesia country
        /// </summary>
        Indonesia,
        /// <summary>
        /// Represents Iran country
        /// </summary>
        Iran,
        /// <summary>
        /// Represents Iraq country
        /// </summary>
        Iraq,
        /// <summary>
        /// Represents Ireland country
        /// </summary>
        Ireland,
        /// <summary>
        /// Represents Isle of Man country
        /// </summary>
        IsleofMan,
        /// <summary>
        /// Represents Israel country
        /// </summary>
        Israel,
        /// <summary>
        /// Represents Italy country
        /// </summary>
        Italy,
        /// <summary>
        /// Represents Ivory Coast (Cote D'Ivoire) country
        /// </summary>
        IvoryCoast_CoteDIvoire,
        /// <summary>
        /// Represents Jamaica country
        /// </summary>
        Jamaica,
        /// <summary>
        /// Represents Japan country
        /// </summary>
        Japan,
        /// <summary>
        /// Represents Jordan country
        /// </summary>
        Jordan,
        /// <summary>
        /// Represents Kazakhstan country
        /// </summary>
        Kazakhstan,
        /// <summary>
        /// Represents Kenya country
        /// </summary>
        Kenya,
        /// <summary>
        /// Represents Kiribati country
        /// </summary>
        Kiribati,
        /// <summary>
        /// Represents Kuwait country
        /// </summary>
        Kuwait,
        /// <summary>
        /// Represents Kyrgyz Republic (Kyrgyzstan) country
        /// </summary>
        KyrgyzRepublic_Kyrgyzstan,
        /// <summary>
        /// Represents Laos country
        /// </summary>
        Laos,
        /// <summary>
        /// Represents Latvia country
        /// </summary>
        Latvia,
        /// <summary>
        /// Represents Lebanon country
        /// </summary>
        Lebanon,
        /// <summary>
        /// Represents Lesotho country
        /// </summary>
        Lesotho,
        /// <summary>
        /// Represents Liberia country
        /// </summary>
        Liberia,
        /// <summary>
        /// Represents Libya country
        /// </summary>
        Libya,
        /// <summary>
        /// Represents Liechtenstein country
        /// </summary>
        Liechtenstein,
        /// <summary>
        /// Represents Lithuania country
        /// </summary>
        Lithuania,
        /// <summary>
        /// Represents Luxembourg country
        /// </summary>
        Luxembourg,
        /// <summary>
        /// Represents Macau country
        /// </summary>
        Macau,
        /// <summary>
        /// Represents Macedonia country
        /// </summary>
        Macedonia,
        /// <summary>
        /// Represents Madagascar country
        /// </summary>
        Madagascar,
        /// <summary>
        /// Represents Malawi country
        /// </summary>
        Malawi,
        /// <summary>
        /// Represents Malaysia country
        /// </summary>
        Malaysia,
        /// <summary>
        /// Represents Maldives country
        /// </summary>
        Maldives,
        /// <summary>
        /// Represents Mali country
        /// </summary>
        Mali,
        /// <summary>
        /// Represents Malta country
        /// </summary>
        Malta,
        /// <summary>
        /// Represents Marshall Islands country
        /// </summary>
        MarshallIslands,
        /// <summary>
        /// Represents Martinique (French) country
        /// </summary>
        Martinique_French,
        /// <summary>
        /// Represents Mauritania country
        /// </summary>
        Mauritania,
        /// <summary>
        /// Represents Mauritius country
        /// </summary>
        Mauritius,
        /// <summary>
        /// Represents Mayotte country
        /// </summary>
        Mayotte,
        /// <summary>
        /// Represents Mexico country
        /// </summary>
        Mexico,
        /// <summary>
        /// Represents Micronesia country
        /// </summary>
        Micronesia,
        /// <summary>
        /// Represents Moldavia country
        /// </summary>
        Moldavia,
        /// <summary>
        /// Represents Monaco country
        /// </summary>
        Monaco,
        /// <summary>
        /// Represents Mongolia country
        /// </summary>
        Mongolia,
        /// <summary>
        /// Represents Montserrat country
        /// </summary>
        Montserrat,
        /// <summary>
        /// Represents Morocco country
        /// </summary>
        Morocco,
        /// <summary>
        /// Represents Mozambique country
        /// </summary>
        Mozambique,
        /// <summary>
        /// Represents Myanmar country
        /// </summary>
        Myanmar,
        /// <summary>
        /// Represents Namibia country
        /// </summary>
        Namibia,
        /// <summary>
        /// Represents Nauru country
        /// </summary>
        Nauru,
        /// <summary>
        /// Represents Nepal country
        /// </summary>
        Nepal,
        /// <summary>
        /// Represents Netherlands country
        /// </summary>
        Netherlands,
        /// <summary>
        /// Represents Netherlands Antilles country
        /// </summary>
        NetherlandsAntilles,
        /// <summary>
        /// Represents New Caledonia (French) country
        /// </summary>
        NewCaledonia_French,
        /// <summary>
        /// Represents New Zealand country
        /// </summary>
        NewZealand,
        /// <summary>
        /// Represents Nicaragua country
        /// </summary>
        Nicaragua,
        /// <summary>
        /// Represents Niger country
        /// </summary>
        Niger,
        /// <summary>
        /// Represents Nigeria country
        /// </summary>
        Nigeria,
        /// <summary>
        /// Represents Niue country
        /// </summary>
        Niue,
        /// <summary>
        /// Represents Norfolk Island country
        /// </summary>
        NorfolkIsland,
        /// <summary>
        /// Represents North Korea country
        /// </summary>
        NorthKorea,
        /// <summary>
        /// Represents Northern Mariana Islands country
        /// </summary>
        NorthernMarianaIslands,
        /// <summary>
        /// Represents Norway country
        /// </summary>
        Norway,
        /// <summary>
        /// Represents Oman country
        /// </summary>
        Oman,
        /// <summary>
        /// Represents Pakistan country
        /// </summary>
        Pakistan,
        /// <summary>
        /// Represents Palau country
        /// </summary>
        Palau,
        /// <summary>
        /// Represents Palestinian Territories country
        /// </summary>
        PalestinianTerritories,
        /// <summary>
        /// Represents Panama country
        /// </summary>
        Panama,
        /// <summary>
        /// Represents Papua New Guinea country
        /// </summary>
        PapuaNewGuinea,
        /// <summary>
        /// Represents Paraguay country
        /// </summary>
        Paraguay,
        /// <summary>
        /// Represents Peru country
        /// </summary>
        Peru,
        /// <summary>
        /// Represents Philippines country
        /// </summary>
        Philippines,
        /// <summary>
        /// Represents Pitcairn Island country
        /// </summary>
        PitcairnIsland,
        /// <summary>
        /// Represents Poland country
        /// </summary>
        Poland,
        /// <summary>
        /// Represents Polynesia (French) country
        /// </summary>
        Polynesia_French,
        /// <summary>
        /// Represents Portugal country
        /// </summary>
        Portugal,
        /// <summary>
        /// Represents Puerto Rico country
        /// </summary>
        PuertoRico,
        /// <summary>
        /// Represents Qatar country
        /// </summary>
        Qatar,
        /// <summary>
        /// Represents Reunion (French) country
        /// </summary>
        Reunion_French,
        /// <summary>
        /// Represents Romania country
        /// </summary>
        Romania,
        /// <summary>
        /// Represents Russian Federation country
        /// </summary>
        RussianFederation,
        /// <summary>
        /// Represents Rwanda country
        /// </summary>
        Rwanda,
        /// <summary>
        /// Represents Saint Helena country
        /// </summary>
        SaintHelena,
        /// <summary>
        /// Represents Saint Kitts And Nevis Anguilla country
        /// </summary>
        SaintKittsAndNevisAnguilla,
        /// <summary>
        /// Represents Saint Lucia country
        /// </summary>
        SaintLucia,
        /// <summary>
        /// Represents Saint Pierre And Miquelon country
        /// </summary>
        SaintPierreAndMiquelon,
        /// <summary>
        /// Represents Saint Tome And Principe country
        /// </summary>
        SaintTomeAndPrincipe,
        /// <summary>
        /// Represents Saint Vincent And Grenadines country
        /// </summary>
        SaintVincentAndGrenadines,
        /// <summary>
        /// Represents Samoa country
        /// </summary>
        Samoa,
        /// <summary>
        /// Represents San Marino country
        /// </summary>
        SanMarino,
        /// <summary>
        /// Represents Saudi Arabia country
        /// </summary>
        SaudiArabia,
        /// <summary>
        /// Represents Senegal country
        /// </summary>
        Senegal,
        /// <summary>
        /// Represents Seychelles country
        /// </summary>
        Seychelles,
        /// <summary>
        /// Represents Sierra Leone country
        /// </summary>
        SierraLeone,
        /// <summary>
        /// Represents Singapore country
        /// </summary>
        Singapore,
        /// <summary>
        /// Represents Slovak Republic country
        /// </summary>
        SlovakRepublic,
        /// <summary>
        /// Represents Slovenia country
        /// </summary>
        Slovenia,
        /// <summary>
        /// Represents Solomon Islands country
        /// </summary>
        SolomonIslands,
        /// <summary>
        /// Represents Somalia country
        /// </summary>
        Somalia,
        /// <summary>
        /// Represents South Africa country
        /// </summary>
        SouthAfrica,
        /// <summary>
        /// Represents South Korea country
        /// </summary>
        SouthKorea,
        /// <summary>
        /// Represents Spain country
        /// </summary>
        Spain,
        /// <summary>
        /// Represents Sri Lanka country
        /// </summary>
        SriLanka,
        /// <summary>
        /// Represents Sudan country
        /// </summary>
        Sudan,
        /// <summary>
        /// Represents Suriname country
        /// </summary>
        Suriname,
        /// <summary>
        /// Represents Svalbard And Jan Mayen Islands country
        /// </summary>
        SvalbardAndJanMayenIslands,
        /// <summary>
        /// Represents Swaziland country
        /// </summary>
        Swaziland,
        /// <summary>
        /// Represents Sweden country
        /// </summary>
        Sweden,
        /// <summary>
        /// Represents Switzerland country
        /// </summary>
        Switzerland,
        /// <summary>
        /// Represents Syria country
        /// </summary>
        Syria,
        /// <summary>
        /// Represents Tadjikistan country
        /// </summary>
        Tadjikistan,
        /// <summary>
        /// Represents Taiwan country
        /// </summary>
        Taiwan,
        /// <summary>
        /// Represents Tanzania country
        /// </summary>
        Tanzania,
        /// <summary>
        /// Represents Thailand country
        /// </summary>
        Thailand,
        /// <summary>
        /// Represents Togo country
        /// </summary>
        Togo,
        /// <summary>
        /// Represents Tokelau country
        /// </summary>
        Tokelau,
        /// <summary>
        /// Represents Tonga country
        /// </summary>
        Tonga,
        /// <summary>
        /// Represents Trinidad And Tobago country
        /// </summary>
        TrinidadAndTobago,
        /// <summary>
        /// Represents Tunisia country
        /// </summary>
        Tunisia,
        /// <summary>
        /// Represents Turkey country
        /// </summary>
        Turkey,
        /// <summary>
        /// Represents Turkmenistan country
        /// </summary>
        Turkmenistan,
        /// <summary>
        /// Represents Turks And Caicos Islands country
        /// </summary>
        TurksAndCaicosIslands,
        /// <summary>
        /// Represents Tuvalu country
        /// </summary>
        Tuvalu,
        /// <summary>
        /// Represents USA Minor Outlying Islands country
        /// </summary>
        USAMinorOutlyingIslands,
        /// <summary>
        /// Represents Uganda country
        /// </summary>
        Uganda,
        /// <summary>
        /// Represents Ukraine country
        /// </summary>
        Ukraine,
        /// <summary>
        /// Represents United Arab Emirates country
        /// </summary>
        UnitedArabEmirates,
        /// <summary>
        /// Represents United Kingdom country
        /// </summary>
        UnitedKingdom,
        /// <summary>
        /// Represents United States country
        /// </summary>
        UnitedStates,
        /// <summary>
        /// Represents Uruguay country
        /// </summary>
        Uruguay,
        /// <summary>
        /// Represents Uzbekistan country
        /// </summary>
        Uzbekistan,
        /// <summary>
        /// Represents Vanuatu country
        /// </summary>
        Vanuatu,
        /// <summary>
        /// Represents Venezuela country
        /// </summary>
        Venezuela,
        /// <summary>
        /// Represents Vietnam country
        /// </summary>
        Vietnam,
        /// <summary>
        /// Represents Virgin Islands (British) country
        /// </summary>
        VirginIslands_British,
        /// <summary>
        /// Represents Virgin Islands (USA) country
        /// </summary>
        VirginIslands_USA,
        /// <summary>
        /// Represents Wallis And Futuna Islands country
        /// </summary>
        WallisAndFutunaIslands,
        /// <summary>
        /// Represents Western Sahara country
        /// </summary>
        WesternSahara,
        /// <summary>
        /// Represents Yemen country
        /// </summary>
        Yemen,
        /// <summary>
        /// Represents Yugoslavia country
        /// </summary>
        Yugoslavia,
        /// <summary>
        /// Represents Zaire country
        /// </summary>
        Zaire,
        /// <summary>
        /// Represents Zambia country
        /// </summary>
        Zambia,
        /// <summary>
        /// Represents Zimbabwe country
        /// </summary>
        Zimbabwe
    }

    /// <summary>
    /// Represents the abbreviations for states specified in Countries enum 
    /// </summary>
    public enum CountryAbbreviation
    {
        /// <summary>
        /// Represents Islamic State of Afghanistan country
        /// </summary>
        AF,
        /// <summary>
        /// Represents Albania country
        /// </summary>
        AL,
        /// <summary>
        /// Represents Algeria country
        /// </summary>
        DZ,
        /// <summary>
        /// Represents American Samoa country
        /// </summary>
        AS,
        /// <summary>
        /// Represents Principality of Andorra country
        /// </summary>
        AD,
        /// <summary>
        /// Represents Angola country
        /// </summary>
        AO,
        /// <summary>
        /// Represents Anguilla country
        /// </summary>
        AI,
        /// <summary>
        /// Represents Antarctica country
        /// </summary>
        AQ,
        /// <summary>
        /// Represents Antigua And Barbuda country
        /// </summary>
        AG,
        /// <summary>
        /// Represents Argentina country
        /// </summary>
        AR,
        /// <summary>
        /// Represents Armenia country
        /// </summary>
        AM,
        /// <summary>
        /// Represents Aruba country
        /// </summary>
        AW,
        /// <summary>
        /// Represents Ascension Island country
        /// </summary>
        AC,
        /// <summary>
        /// Represents Australia country
        /// </summary>
        AU,
        /// <summary>
        /// Represents Austria country
        /// </summary>
        AT,
        /// <summary>
        /// Represents Azerbaidjan country
        /// </summary>
        AZ,
        /// <summary>
        /// Represents Bahamas country
        /// </summary>
        BS,
        /// <summary>
        /// Represents Bahrain country
        /// </summary>
        BH,
        /// <summary>
        /// Represents Bangladesh country
        /// </summary>
        BD,
        /// <summary>
        /// Represents Barbados country
        /// </summary>
        BB,
        /// <summary>
        /// Represents Belarus country
        /// </summary>
        BY,
        /// <summary>
        /// Represents Belgium country
        /// </summary>
        BE,
        /// <summary>
        /// Represents Belize country
        /// </summary>
        BZ,
        /// <summary>
        /// Represents Benin country
        /// </summary>
        BJ,
        /// <summary>
        /// Represents Bermuda country
        /// </summary>
        BM,
        /// <summary>
        /// Represents Bhutan country
        /// </summary>
        BT,
        /// <summary>
        /// Represents Bolivia country
        /// </summary>
        BO,
        /// <summary>
        /// Represents Bosnia-Herzegovina country
        /// </summary>
        BA,
        /// <summary>
        /// Represents Botswana country
        /// </summary>
        BW,
        /// <summary>
        /// Represents Brazil country
        /// </summary>
        BR,
        /// <summary>
        /// Represents British Indian Ocean Territory country
        /// </summary>
        IO,
        /// <summary>
        /// Represents Brunei Darussalam country
        /// </summary>
        BN,
        /// <summary>
        /// Represents Bulgaria country
        /// </summary>
        BG,
        /// <summary>
        /// Represents Burkina Faso country
        /// </summary>
        BF,
        /// <summary>
        /// Represents Burundi country
        /// </summary>
        BI,
        /// <summary>
        /// Represents Kingdom of Cambodia country
        /// </summary>
        KH,
        /// <summary>
        /// Represents Cameroon country
        /// </summary>
        CM,
        /// <summary>
        /// Represents Canada country
        /// </summary>
        CA,
        /// <summary>
        /// Represents Cape Verde country
        /// </summary>
        CV,
        /// <summary>
        /// Represents Cayman Islands country
        /// </summary>
        KY,
        /// <summary>
        /// Represents Central African Republic country
        /// </summary>
        CF,
        /// <summary>
        /// Represents Chad country
        /// </summary>
        TD,
        /// <summary>
        /// Represents Chile country
        /// </summary>
        CL,
        /// <summary>
        /// Represents China country
        /// </summary>
        CN,
        /// <summary>
        /// Represents Christmas Island country
        /// </summary>
        CX,
        /// <summary>
        /// Represents Cocos (Keeling) Islands country
        /// </summary>
        CC,
        /// <summary>
        /// Represents Colombia country
        /// </summary>
        CO,
        /// <summary>
        /// Represents Comoros country
        /// </summary>
        KM,
        /// <summary>
        /// Represents Congo country
        /// </summary>
        CG,
        /// <summary>
        /// Represents Cook Islands country
        /// </summary>
        CK,
        /// <summary>
        /// Represents Costa Rica country
        /// </summary>
        CR,
        /// <summary>
        /// Represents Croatia country
        /// </summary>
        HR,
        /// <summary>
        /// Represents Cuba country
        /// </summary>
        CU,
        /// <summary>
        /// Represents Cyprus country
        /// </summary>
        CY,
        /// <summary>
        /// Represents Czech Republic country
        /// </summary>
        CZ,
        /// <summary>
        /// Represents Denmark country
        /// </summary>
        DK,
        /// <summary>
        /// Represents Djibouti country
        /// </summary>
        DJ,
        /// <summary>
        /// Represents Dominica country
        /// </summary>
        DM,
        /// <summary>
        /// Represents Dominican Republic country
        /// </summary>
        DO,
        /// <summary>
        /// Represents East Timor country
        /// </summary>
        TP,
        /// <summary>
        /// Represents Ecuador country
        /// </summary>
        EC,
        /// <summary>
        /// Represents Egypt country
        /// </summary>
        EG,
        /// <summary>
        /// Represents El Salvador country
        /// </summary>
        SV,
        /// <summary>
        /// Represents Equatorial Guinea country
        /// </summary>
        GQ,
        /// <summary>
        /// Represents Eritrea country
        /// </summary>
        ER,
        /// <summary>
        /// Represents Estonia country
        /// </summary>
        EE,
        /// <summary>
        /// Represents Ethiopia country
        /// </summary>
        ET,
        /// <summary>
        /// Represents Falkland Islands country
        /// </summary>
        FK,
        /// <summary>
        /// Represents Faroe Islands country
        /// </summary>
        FO,
        /// <summary>
        /// Represents Fiji country
        /// </summary>
        FJ,
        /// <summary>
        /// Represents Finland country
        /// </summary>
        FI,
        /// <summary>
        /// Represents Former Czechoslovakia country
        /// </summary>
        CS,
        /// <summary>
        /// Represents Former USSR country
        /// </summary>
        SU,
        /// <summary>
        /// Represents France country
        /// </summary>
        FR,
        /// <summary>
        /// Represents France (European Territory) country
        /// </summary>
        FX,
        /// <summary>
        /// Represents French Guyana country
        /// </summary>
        GF,
        /// <summary>
        /// Represents Gabon country
        /// </summary>
        GA,
        /// <summary>
        /// Represents Gambia country
        /// </summary>
        GM,
        /// <summary>
        /// Represents Georgia country
        /// </summary>
        GE,
        /// <summary>
        /// Represents Germany country
        /// </summary>
        DE,
        /// <summary>
        /// Represents Ghana country
        /// </summary>
        GH,
        /// <summary>
        /// Represents Gibraltar country
        /// </summary>
        GI,
        /// <summary>
        /// Represents Greece country
        /// </summary>
        GR,
        /// <summary>
        /// Represents Greenland country
        /// </summary>
        GL,
        /// <summary>
        /// Represents Grenada country
        /// </summary>
        GD,
        /// <summary>
        /// Represents Guadeloupe (French) country
        /// </summary>
        GP,
        /// <summary>
        /// Represents Guam (USA) country
        /// </summary>
        GU,
        /// <summary>
        /// Represents Guatemala country
        /// </summary>
        GT,
        /// <summary>
        /// Represents Guernsey country
        /// </summary>
        GG,
        /// <summary>
        /// Represents Guinea country
        /// </summary>
        GN,
        /// <summary>
        /// Represents Guinea Bissau country
        /// </summary>
        GW,
        /// <summary>
        /// Represents Guyana country
        /// </summary>
        GY,
        /// <summary>
        /// Represents Haiti country
        /// </summary>
        HT,
        /// <summary>
        /// Represents Holy See (Vatican City State) country
        /// </summary>
        VA,
        /// <summary>
        /// Represents Honduras country
        /// </summary>
        HN,
        /// <summary>
        /// Represents HongKong country
        /// </summary>
        HK,
        /// <summary>
        /// Represents Hungary country
        /// </summary>
        HU,
        /// <summary>
        /// Represents Iceland country
        /// </summary>
        IS,
        /// <summary>
        /// Represents India country
        /// </summary>
        IN,
        /// <summary>
        /// Represents Indonesia country
        /// </summary>
        ID,
        /// <summary>
        /// Represents Iran country
        /// </summary>
        IR,
        /// <summary>
        /// Represents Iraq country
        /// </summary>
        IQ,
        /// <summary>
        /// Represents Ireland country
        /// </summary>
        IE,
        /// <summary>
        /// Represents Isle of Man country
        /// </summary>
        IM,
        /// <summary>
        /// Represents Israel country
        /// </summary>
        IL,
        /// <summary>
        /// Represents Italy country
        /// </summary>
        IT,
        /// <summary>
        /// Represents Ivory Coast (Cote D'Ivoire) country
        /// </summary>
        CI,
        /// <summary>
        /// Represents Jamaica country
        /// </summary>
        JM,
        /// <summary>
        /// Represents Japan country
        /// </summary>
        JP,
        /// <summary>
        /// Represents Jordan country
        /// </summary>
        JO,
        /// <summary>
        /// Represents Kazakhstan country
        /// </summary>
        KZ,
        /// <summary>
        /// Represents Kenya country
        /// </summary>
        KE,
        /// <summary>
        /// Represents Kiribati country
        /// </summary>
        KI,
        /// <summary>
        /// Represents Kuwait country
        /// </summary>
        KW,
        /// <summary>
        /// Represents Kyrgyz Republic (Kyrgyzstan) country
        /// </summary>
        KG,
        /// <summary>
        /// Represents Laos country
        /// </summary>
        LA,
        /// <summary>
        /// Represents Latvia country
        /// </summary>
        LV,
        /// <summary>
        /// Represents Lebanon country
        /// </summary>
        LB,
        /// <summary>
        /// Represents Lesotho country
        /// </summary>
        LS,
        /// <summary>
        /// Represents Liberia country
        /// </summary>
        LR,
        /// <summary>
        /// Represents Libya country
        /// </summary>
        LY,
        /// <summary>
        /// Represents Liechtenstein country
        /// </summary>
        LI,
        /// <summary>
        /// Represents Lithuania country
        /// </summary>
        LT,
        /// <summary>
        /// Represents Luxembourg country
        /// </summary>
        LU,
        /// <summary>
        /// Represents Macau country
        /// </summary>
        MO,
        /// <summary>
        /// Represents Macedonia country
        /// </summary>
        MK,
        /// <summary>
        /// Represents Madagascar country
        /// </summary>
        MG,
        /// <summary>
        /// Represents Malawi country
        /// </summary>
        MW,
        /// <summary>
        /// Represents Malaysia country
        /// </summary>
        MY,
        /// <summary>
        /// Represents Maldives country
        /// </summary>
        MV,
        /// <summary>
        /// Represents Mali country
        /// </summary>
        ML,
        /// <summary>
        /// Represents Malta country
        /// </summary>
        MT,
        /// <summary>
        /// Represents Marshall Islands country
        /// </summary>
        MH,
        /// <summary>
        /// Represents Martinique (French) country
        /// </summary>
        MQ,
        /// <summary>
        /// Represents Mauritania country
        /// </summary>
        MR,
        /// <summary>
        /// Represents Mauritius country
        /// </summary>
        MU,
        /// <summary>
        /// Represents Mayotte country
        /// </summary>
        YT,
        /// <summary>
        /// Represents Mexico country
        /// </summary>
        MX,
        /// <summary>
        /// Represents Micronesia country
        /// </summary>
        FM,
        /// <summary>
        /// Represents Moldavia country
        /// </summary>
        MD,
        /// <summary>
        /// Represents Monaco country
        /// </summary>
        MC,
        /// <summary>
        /// Represents Mongolia country
        /// </summary>
        MN,
        /// <summary>
        /// Represents Montserrat country
        /// </summary>
        MS,
        /// <summary>
        /// Represents Morocco country
        /// </summary>
        MA,
        /// <summary>
        /// Represents Mozambique country
        /// </summary>
        MZ,
        /// <summary>
        /// Represents Myanmar country
        /// </summary>
        MM,
        /// <summary>
        /// Represents Namibia country
        /// </summary>
        NA,
        /// <summary>
        /// Represents Nauru country
        /// </summary>
        NR,
        /// <summary>
        /// Represents Nepal country
        /// </summary>
        NP,
        /// <summary>
        /// Represents Netherlands country
        /// </summary>
        NL,
        /// <summary>
        /// Represents Netherlands Antilles country
        /// </summary>
        AN,
        /// <summary>
        /// Represents New Caledonia (French) country
        /// </summary>
        NC,
        /// <summary>
        /// Represents New Zealand country
        /// </summary>
        NZ,
        /// <summary>
        /// Represents Nicaragua country
        /// </summary>
        NI,
        /// <summary>
        /// Represents Niger country
        /// </summary>
        NE,
        /// <summary>
        /// Represents Nigeria country
        /// </summary>
        NG,
        /// <summary>
        /// Represents Niue country
        /// </summary>
        NU,
        /// <summary>
        /// Represents Norfolk Island country
        /// </summary>
        NF,
        /// <summary>
        /// Represents North Korea country
        /// </summary>
        KP,
        /// <summary>
        /// Represents Northern Mariana Islands country
        /// </summary>
        MP,
        /// <summary>
        /// Represents Norway country
        /// </summary>
        NO,
        /// <summary>
        /// Represents Oman country
        /// </summary>
        OM,
        /// <summary>
        /// Represents Pakistan country
        /// </summary>
        PK,
        /// <summary>
        /// Represents Palau country
        /// </summary>
        PW,
        /// <summary>
        /// Represents Palestinian Territories country
        /// </summary>
        PS,
        /// <summary>
        /// Represents Panama country
        /// </summary>
        PA,
        /// <summary>
        /// Represents Papua New Guinea country
        /// </summary>
        PG,
        /// <summary>
        /// Represents Paraguay country
        /// </summary>
        PY,
        /// <summary>
        /// Represents Peru country
        /// </summary>
        PE,
        /// <summary>
        /// Represents Philippines country
        /// </summary>
        PH,
        /// <summary>
        /// Represents Pitcairn Island country
        /// </summary>
        PN,
        /// <summary>
        /// Represents Poland country
        /// </summary>
        PL,
        /// <summary>
        /// Represents Polynesia (French) country
        /// </summary>
        PF,
        /// <summary>
        /// Represents Portugal country
        /// </summary>
        PT,
        /// <summary>
        /// Represents Puerto Rico country
        /// </summary>
        PR,
        /// <summary>
        /// Represents Qatar country
        /// </summary>
        QA,
        /// <summary>
        /// Represents Reunion (French) country
        /// </summary>
        RE,
        /// <summary>
        /// Represents Romania country
        /// </summary>
        RO,
        /// <summary>
        /// Represents Russian Federation country
        /// </summary>
        RU,
        /// <summary>
        /// Represents Rwanda country
        /// </summary>
        RW,
        /// <summary>
        /// Represents Saint Helena country
        /// </summary>
        SH,
        /// <summary>
        /// Represents Saint Kitts And Nevis Anguilla country
        /// </summary>
        KN,
        /// <summary>
        /// Represents Saint Lucia country
        /// </summary>
        LC,
        /// <summary>
        /// Represents Saint Pierre And Miquelon country
        /// </summary>
        PM,
        /// <summary>
        /// Represents Saint Tome And Principe country
        /// </summary>
        ST,
        /// <summary>
        /// Represents Saint Vincent And Grenadines country
        /// </summary>
        VC,
        /// <summary>
        /// Represents Samoa country
        /// </summary>
        WS,
        /// <summary>
        /// Represents San Marino country
        /// </summary>
        SM,
        /// <summary>
        /// Represents Saudi Arabia country
        /// </summary>
        SA,
        /// <summary>
        /// Represents Senegal country
        /// </summary>
        SN,
        /// <summary>
        /// Represents Seychelles country
        /// </summary>
        SC,
        /// <summary>
        /// Represents Sierra Leone country
        /// </summary>
        SL,
        /// <summary>
        /// Represents Singapore country
        /// </summary>
        SG,
        /// <summary>
        /// Represents Slovak Republic country
        /// </summary>
        SK,
        /// <summary>
        /// Represents Slovenia country
        /// </summary>
        SI,
        /// <summary>
        /// Represents Solomon Islands country
        /// </summary>
        SB,
        /// <summary>
        /// Represents Somalia country
        /// </summary>
        SO,
        /// <summary>
        /// Represents South Africa country
        /// </summary>
        ZA,
        /// <summary>
        /// Represents South Korea country
        /// </summary>
        KR,
        /// <summary>
        /// Represents Spain country
        /// </summary>
        ES,
        /// <summary>
        /// Represents Sri Lanka country
        /// </summary>
        LK,
        /// <summary>
        /// Represents Sudan country
        /// </summary>
        SD,
        /// <summary>
        /// Represents Suriname country
        /// </summary>
        SR,
        /// <summary>
        /// Represents Svalbard And Jan Mayen Islands country
        /// </summary>
        SJ,
        /// <summary>
        /// Represents Swaziland country
        /// </summary>
        SZ,
        /// <summary>
        /// Represents Sweden country
        /// </summary>
        SE,
        /// <summary>
        /// Represents Switzerland country
        /// </summary>
        CH,
        /// <summary>
        /// Represents Syria country
        /// </summary>
        SY,
        /// <summary>
        /// Represents Tadjikistan country
        /// </summary>
        TJ,
        /// <summary>
        /// Represents Taiwan country
        /// </summary>
        TW,
        /// <summary>
        /// Represents Tanzania country
        /// </summary>
        TZ,
        /// <summary>
        /// Represents Thailand country
        /// </summary>
        TH,
        /// <summary>
        /// Represents Togo country
        /// </summary>
        TG,
        /// <summary>
        /// Represents Tokelau country
        /// </summary>
        TK,
        /// <summary>
        /// Represents Tonga country
        /// </summary>
        TO,
        /// <summary>
        /// Represents Trinidad And Tobago country
        /// </summary>
        TT,
        /// <summary>
        /// Represents Tunisia country
        /// </summary>
        TN,
        /// <summary>
        /// Represents Turkey country
        /// </summary>
        TR,
        /// <summary>
        /// Represents Turkmenistan country
        /// </summary>
        TM,
        /// <summary>
        /// Represents Turks And Caicos Islands country
        /// </summary>
        TC,
        /// <summary>
        /// Represents Tuvalu country
        /// </summary>
        TV,
        /// <summary>
        /// Represents USA Minor Outlying Islands country
        /// </summary>
        UM,
        /// <summary>
        /// Represents Uganda country
        /// </summary>
        UG,
        /// <summary>
        /// Represents Ukraine country
        /// </summary>
        UA,
        /// <summary>
        /// Represents United Arab Emirates country
        /// </summary>
        AE,
        /// <summary>
        /// Represents United Kingdom country
        /// </summary>
        UK,
        /// <summary>
        /// Represents United States country
        /// </summary>
        US,
        /// <summary>
        /// Represents Uruguay country
        /// </summary>
        UY,
        /// <summary>
        /// Represents Uzbekistan country
        /// </summary>
        UZ,
        /// <summary>
        /// Represents Vanuatu country
        /// </summary>
        VU,
        /// <summary>
        /// Represents Venezuela country
        /// </summary>
        VE,
        /// <summary>
        /// Represents Vietnam country
        /// </summary>
        VN,
        /// <summary>
        /// Represents Virgin Islands (British) country
        /// </summary>
        VG,
        /// <summary>
        /// Represents Virgin Islands (USA) country
        /// </summary>
        VI,
        /// <summary>
        /// Represents Wallis And Futuna Islands country
        /// </summary>
        WF,
        /// <summary>
        /// Represents Western Sahara country
        /// </summary>
        EH,
        /// <summary>
        /// Represents Yemen country
        /// </summary>
        YE,
        /// <summary>
        /// Represents Yugoslavia country
        /// </summary>
        YU,
        /// <summary>
        /// Represents Zaire country
        /// </summary>
        ZR,
        /// <summary>
        /// Represents Zambia country
        /// </summary>
        ZM,
        /// <summary>
        /// Represents Zimbabwe country
        /// </summary>
        ZW
    }
}